/**
 * jims
 */
package com.jims.master.modules.csm.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;
import org.hibernate.validator.constraints.Length;

import java.util.Date;

/**
 * 消耗品盘点Entity
 * @author zhuq
 * @version 2017-03-28
 */
public class ExpInventoryCheck extends DataEntity<ExpInventoryCheck> {

    private static final long serialVersionUID = 1L;
    private String stockId;		// 库存量主键
    private String expCode;		// 消耗品编码
    private String infoId;		// expInfoId
    private String storageId;		// 库存单位
    private Integer packageNum;		// 包装数量
    private String packageSpec;		// 包装规格
    private String packageUnits;		// 包装单位
    private Double purchasePrice;		// 进货价
    private String batchNo;		// 批号
    private Date expireDate;		// 有效期
    private Double maxQuantity;		// 大包装库存量
    private Double minQuantity;		// 小包装库存量
    private Double actualQuantity;		// 小包装实盘数
    private String expName;

    private String type;//扩展类型
    private Double overageNum;//盘盈数量
    private Double overagePrice;//盘盈价钱
    private Double lossNum;//盘亏数量
    private Double lossPrice;//盘亏价钱


    public String getExpName() {
        return expName;
    }

    public void setExpName(String expName) {
        this.expName = expName;
    }

    public ExpInventoryCheck() {
        super();
    }

    public ExpInventoryCheck(String id){
        super(id);
    }

    @Length(min=1, max=64, message="库存量主键长度必须介于 1 和 64 之间")
    public String getStockId() {
        return stockId;
    }

    public void setStockId(String stockId) {
        this.stockId = stockId;
    }

    @Length(min=1, max=32, message="消耗品编码长度必须介于 1 和 32 之间")
    public String getExpCode() {
        return expCode;
    }

    public void setExpCode(String expCode) {
        this.expCode = expCode;
    }

    @Length(min=1, max=64, message="expInfoId长度必须介于 1 和 64 之间")
    public String getInfoId() {
        return infoId;
    }

    public void setInfoId(String infoId) {
        this.infoId = infoId;
    }

    @Length(min=1, max=64, message="库存单位长度必须介于 1 和 64 之间")
    public String getStorageId() {
        return storageId;
    }

    public void setStorageId(String storageId) {
        this.storageId = storageId;
    }

    public Integer getPackageNum() {
        return packageNum;
    }

    public void setPackageNum(Integer packageNum) {
        this.packageNum = packageNum;
    }

    @Length(min=1, max=20, message="包装规格长度必须介于 1 和 20 之间")
    public String getPackageSpec() {
        return packageSpec;
    }

    public void setPackageSpec(String packageSpec) {
        this.packageSpec = packageSpec;
    }

    @Length(min=1, max=2, message="包装单位长度必须介于 1 和 2 之间")
    public String getPackageUnits() {
        return packageUnits;
    }

    public void setPackageUnits(String packageUnits) {
        this.packageUnits = packageUnits;
    }

    public Double getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(Double purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    @Length(min=1, max=64, message="批号长度必须介于 1 和 64 之间")
    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public Double getMaxQuantity() {
        return maxQuantity;
    }

    public void setMaxQuantity(Double maxQuantity) {
        this.maxQuantity = maxQuantity;
    }

    public Double getMinQuantity() {
        return minQuantity;
    }

    public void setMinQuantity(Double minQuantity) {
        this.minQuantity = minQuantity;
    }

    public Double getActualQuantity() {
        return actualQuantity;
    }

    public void setActualQuantity(Double actualQuantity) {
        this.actualQuantity = actualQuantity;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Double getOverageNum() {
        return overageNum;
    }

    public void setOverageNum(Double overageNum) {
        this.overageNum = overageNum;
    }

    public Double getOveragePrice() {
        return overagePrice;
    }

    public void setOveragePrice(Double overagePrice) {
        this.overagePrice = overagePrice;
    }

    public Double getLossNum() {
        return lossNum;
    }

    public void setLossNum(Double lossNum) {
        this.lossNum = lossNum;
    }

    public Double getLossPrice() {
        return lossPrice;
    }

    public void setLossPrice(Double lossPrice) {
        this.lossPrice = lossPrice;
    }
}